gtk4.git
8 years agogdk: Make it possible to attach user data to GdkEvents
Carlos Garnacho [Thu, 4 May 2017 11:41:29 +0000 (13:41 +0200)]
gdk: Make it possible to attach user data to GdkEvents

As event->any.window is the toplevel, this is not useful anymore to
determine the window/widget that is the target for this event. Add
helper functions to attach user data to GdkEvents so the target
widget can be stored on the gtk/ side.

These calls should be made private with the rest of GdkEvent related
API.

8 years agogtkmain: Avoid doubly propagation of enter/leave events from windowing
Carlos Garnacho [Thu, 13 Apr 2017 13:42:48 +0000 (15:42 +0200)]
gtkmain: Avoid doubly propagation of enter/leave events from windowing

Crossing events are already generated when picking the new pointer position,
so we don't have to propagate the windowing crossing event as-is.

8 years agogtknotebook: Drop drag_window
Carlos Garnacho [Wed, 12 Apr 2017 10:11:56 +0000 (12:11 +0200)]
gtknotebook: Drop drag_window

It is not necessary anymore to implement tab DnD, since we just render
it on top.

8 years agogtkiconview: Remove view GdkWindow
Carlos Garnacho [Mon, 10 Apr 2017 15:19:37 +0000 (17:19 +0200)]
gtkiconview: Remove view GdkWindow

It's not necessary anymore for clipping nor receiving events. So just
remove it. The event handling code was expecting events in bin_window
coordinates, and have been updated to relying on widget-relative coords.

8 years agogtkviewport: Remove view window
Carlos Garnacho [Thu, 6 Apr 2017 19:14:28 +0000 (21:14 +0200)]
gtkviewport: Remove view window

It is not really necessary for clipping nor receiving events.

8 years agogtkrevealer: Remove view window
Carlos Garnacho [Thu, 6 Apr 2017 18:55:07 +0000 (20:55 +0200)]
gtkrevealer: Remove view window

It's not necessary anymore for either clipping or event delivery

8 years agogtkpaned: Remove per-child windows
Carlos Garnacho [Thu, 6 Apr 2017 18:48:03 +0000 (20:48 +0200)]
gtkpaned: Remove per-child windows

Those are no longer necessary for clipping nor receiving events, so just
remove them.

8 years agogtklayout: Remove widget window
Carlos Garnacho [Thu, 6 Apr 2017 12:50:28 +0000 (14:50 +0200)]
gtklayout: Remove widget window

It can be entirely replaced by a clip allocation on the widget.

8 years agogtkoverlay: Remove per-child windows
Carlos Garnacho [Thu, 6 Apr 2017 11:56:36 +0000 (13:56 +0200)]
gtkoverlay: Remove per-child windows

They are no longer necessary to do child positioning nor input
handling.

8 years agogtkwidget: Add private set_pass_through() call
Carlos Garnacho [Thu, 6 Apr 2017 11:55:35 +0000 (13:55 +0200)]
gtkwidget: Add private set_pass_through() call

We could eventually support pointer-event in CSS here, in the mean
time add this call to replace the GdkWindow API.

8 years agogtktreeview: Remove header window
Carlos Garnacho [Thu, 6 Apr 2017 10:53:22 +0000 (12:53 +0200)]
gtktreeview: Remove header window

It is no longer necessary to overlay the column headers above the
treeview.

8 years agogtktreeview: Remove widget window
Carlos Garnacho [Wed, 5 Apr 2017 14:58:12 +0000 (16:58 +0200)]
gtktreeview: Remove widget window

It can be entirely replaced by setting a proper clip rectangle.

8 years agogtkstack: Remove view window
Carlos Garnacho [Wed, 5 Apr 2017 14:30:07 +0000 (16:30 +0200)]
gtkstack: Remove view window

This widget already sets a clip area, so the view window can be safely
removed.

8 years agogtktoolpalette: Remove child window
Carlos Garnacho [Tue, 4 Apr 2017 16:55:33 +0000 (18:55 +0200)]
gtktoolpalette: Remove child window

This is not necessary for rendering anymore, as the clip is set by the
parent scrolledwindow. It's not necessary either for receiving input
events.

8 years agogtkflowbox: Remove child window
Carlos Garnacho [Tue, 4 Apr 2017 16:18:44 +0000 (18:18 +0200)]
gtkflowbox: Remove child window

This widget correctly sets up a clip, so it is not necessary neither
for rendering nor for receiving input events.

8 years agogtkwidget: Visually update cursors inside widget when changing cursor
Carlos Garnacho [Tue, 4 Apr 2017 15:09:41 +0000 (17:09 +0200)]
gtkwidget: Visually update cursors inside widget when changing cursor

8 years agogtkmain: Use window-internal API to update pointer cursors
Carlos Garnacho [Tue, 4 Apr 2017 15:09:22 +0000 (17:09 +0200)]
gtkmain: Use window-internal API to update pointer cursors

8 years agogtkwindow: Add private API to update pointer cursors
Carlos Garnacho [Tue, 4 Apr 2017 15:08:48 +0000 (17:08 +0200)]
gtkwindow: Add private API to update pointer cursors

8 years agogtkscrolledwindows: Remove child windows
Carlos Garnacho [Mon, 3 Apr 2017 22:40:12 +0000 (00:40 +0200)]
gtkscrolledwindows: Remove child windows

Both for the view (compensated by widget clip) and the scrollbar
indicators (just not needed anymore).

8 years agogtkexpander: Remove event window
Carlos Garnacho [Sun, 2 Apr 2017 22:33:56 +0000 (00:33 +0200)]
gtkexpander: Remove event window

Detect presses/releases inside the label area instead.

8 years agogtkwindow: Implement window resizing sans-GdkWindow
Carlos Garnacho [Sun, 2 Apr 2017 16:36:21 +0000 (18:36 +0200)]
gtkwindow: Implement window resizing sans-GdkWindow

We can just replace window comparisons with coordinate matching, the
cursor corresponding to edges is now set in a capture-phase motion
handler, as cursors aren't set on GdkWindows anymore.

8 years agogtktoolitem: Remove gtk_tool_item_set_use_drag_window()
Carlos Garnacho [Sun, 2 Apr 2017 14:41:44 +0000 (16:41 +0200)]
gtktoolitem: Remove gtk_tool_item_set_use_drag_window()

This API call is not necessary anymore, since it's no longer necessary
to receive events.

8 years agogtkswitch: Remove event window
Carlos Garnacho [Sun, 2 Apr 2017 14:35:16 +0000 (16:35 +0200)]
gtkswitch: Remove event window

It's not necessary anymore to receive input events. The pan gesture has
been set on the capture phase as the child widgets may capture during
bubbling.

8 years agogtkmenuitem: Remove input window
Carlos Garnacho [Sun, 2 Apr 2017 14:28:26 +0000 (16:28 +0200)]
gtkmenuitem: Remove input window

It's not necessary anymore to receive events.

8 years agogtkglarea: Remove input window
Carlos Garnacho [Sun, 2 Apr 2017 14:25:55 +0000 (16:25 +0200)]
gtkglarea: Remove input window

It's not necessary to receive events anymore.

8 years agogtkseparatortoolitem: Remove event window
Carlos Garnacho [Sun, 2 Apr 2017 14:24:31 +0000 (16:24 +0200)]
gtkseparatortoolitem: Remove event window

It's not necessary. It wasn't either before, as this widget handles no
events.

8 years agogtkcolorswatch: Remove input window
Carlos Garnacho [Sun, 2 Apr 2017 14:19:58 +0000 (16:19 +0200)]
gtkcolorswatch: Remove input window

It's not necessary to receive events anymore.

8 years agogtkcolorplane: Remove event window
Carlos Garnacho [Sun, 2 Apr 2017 13:29:33 +0000 (15:29 +0200)]
gtkcolorplane: Remove event window

It is not necessary anymore to receive events.

8 years agogtkrange: Remove event window
Carlos Garnacho [Sun, 2 Apr 2017 13:19:39 +0000 (15:19 +0200)]
gtkrange: Remove event window

This is not necessary anymore to receive input events.

8 years agogtkpathbar: Remove event window
Carlos Garnacho [Sun, 2 Apr 2017 13:15:38 +0000 (15:15 +0200)]
gtkpathbar: Remove event window

This is not necessary anymore to receive scroll events.

8 years agogtktoolbar: Remove input window
Carlos Garnacho [Sun, 2 Apr 2017 13:04:18 +0000 (15:04 +0200)]
gtktoolbar: Remove input window

This is not necessary to receive events anymore.

8 years agolabel: Remove selection window
Carlos Garnacho [Sun, 2 Apr 2017 11:33:12 +0000 (13:33 +0200)]
label: Remove selection window

It's no longer needed to receive events while the label is selectable.

8 years agogtknotebook: Remove event window on top of tabs
Carlos Garnacho [Sun, 2 Apr 2017 09:00:34 +0000 (11:00 +0200)]
gtknotebook: Remove event window on top of tabs

No longer needed.

8 years agogtkwindow: Ignore implicit grabs going away if there is no focus
Carlos Garnacho [Sat, 1 Apr 2017 20:41:23 +0000 (22:41 +0200)]
gtkwindow: Ignore implicit grabs going away if there is no focus

There should be no circumstances where an implicit grab is requested but
no focus exists, there's however circumstances (like windowing grabs taking
input to a different window) where we might get implicit grabs being undone
when then new window didn't create a focus for the pointer itself.

8 years agogtkwindow: Revoke implicit grabs when activating an explicit one
Carlos Garnacho [Sat, 1 Apr 2017 20:38:02 +0000 (22:38 +0200)]
gtkwindow: Revoke implicit grabs when activating an explicit one

Only if they fall outside the grab widget, in that case the widget holding
the implicit grab won't be receiving events anymore, so we can just undo
it.

8 years agogtkbutton: Make windowless
Carlos Garnacho [Fri, 31 Mar 2017 17:11:03 +0000 (19:11 +0200)]
gtkbutton: Make windowless

It is no longer necessary to receive events, so it's relatively straightforward
now to drop.

8 years agogtk: Mass delete all GtkWidget event mask API
Carlos Garnacho [Fri, 31 Mar 2017 16:58:16 +0000 (18:58 +0200)]
gtk: Mass delete all GtkWidget event mask API

We now rely on toplevels receiving and forwarding all the events
the windowing should be able to handle. Event masks are no longer a
way to determine whether an event is deliverable ot a widget.

Events will always be delivered in the three captured/target/bubbled
phases, widgets can now just attach GtkEventControllers and let those
handle the events.

8 years agogtkwidget: Make gtk_widget_event() Accept pointing events in root coordinates
Carlos Garnacho [Fri, 31 Mar 2017 16:25:04 +0000 (18:25 +0200)]
gtkwidget: Make gtk_widget_event() Accept pointing events in root coordinates

This function will, at the last minute, ensure the event contains the right
widget-relative coordinates for the widget the event is being emitted to.

8 years agogtkgesture: Drop GdkWindow checks
Carlos Garnacho [Fri, 31 Mar 2017 16:16:19 +0000 (18:16 +0200)]
gtkgesture: Drop GdkWindow checks

Those are now needless and wrong, as we get guarantees that handled
events will contain widget-relative coordinates. A side effect is
that these events are very possibly not explicitly sent to the
GdkWindow that implementations expect, any extra checks performed
through gtk_gesture_set_window() will be wrong, so the function has
been dropped entirely.

8 years agogtkexpander: Drop usage of gtk_gesture_set_window()
Carlos Garnacho [Fri, 31 Mar 2017 16:12:57 +0000 (18:12 +0200)]
gtkexpander: Drop usage of gtk_gesture_set_window()

It's now meaningless since the gesture will receive the event despite
the input only window.

8 years agogtkcolorplane: Drop usage of gtk_gesture_set_window()
Carlos Garnacho [Fri, 31 Mar 2017 16:11:52 +0000 (18:11 +0200)]
gtkcolorplane: Drop usage of gtk_gesture_set_window()

It's now meaningless since the widget will receive the event despite
the input window.

8 years agogtknotebook: Fix coordinate translation to happen on widget-relative coordinates
Carlos Garnacho [Fri, 31 Mar 2017 16:07:22 +0000 (18:07 +0200)]
gtknotebook: Fix coordinate translation to happen on widget-relative coordinates

This makes notebooks happy again after changing event coordinates to always come in
the widget coordinate system.

8 years agogtktextview: Drop GdkWindow checks on events
Carlos Garnacho [Fri, 31 Mar 2017 16:06:19 +0000 (18:06 +0200)]
gtktextview: Drop GdkWindow checks on events

These are now wrong and prevent the code from running correctly.

8 years agogtktreeview: Drop gtk_gesture_set_window() API
Carlos Garnacho [Fri, 31 Mar 2017 16:03:42 +0000 (18:03 +0200)]
gtktreeview: Drop gtk_gesture_set_window() API

It is now meaningless and wrong, since GdkWindows aren't used anymore
to determine the event target.

8 years agogtktextview: Set "text" pointer cursor
Carlos Garnacho [Fri, 31 Mar 2017 16:02:16 +0000 (18:02 +0200)]
gtktextview: Set "text" pointer cursor

This is no longer set through the Gdkwindow, so use private GtkWidget
API.

8 years agogtkentry: Remove text_area window
Carlos Garnacho [Fri, 31 Mar 2017 16:01:13 +0000 (18:01 +0200)]
gtkentry: Remove text_area window

And refurbish cursor management to be set on the GtkWidget. The
input window is not needed anymore to receive events either.

This is no longer set through the GdkWindow, so use the private
GtkWidget API.

8 years agogtkwidget: Add private cursor setter/getter
Carlos Garnacho [Fri, 31 Mar 2017 15:19:37 +0000 (17:19 +0200)]
gtkwidget: Add private cursor setter/getter

This should be eventually replaced by CSS cursors, but at the moment
it must be handled on the gtk/ side.

8 years agoimcontext: Remove API dependency on GdkWindow
Carlos Garnacho [Sat, 1 Apr 2017 21:25:13 +0000 (23:25 +0200)]
imcontext: Remove API dependency on GdkWindow

There is now a set_client_widget() to hint the IM about positioning
and whatnot.

8 years agogtkbutton: Handle crossing events without the event window
Carlos Garnacho [Fri, 31 Mar 2017 15:59:43 +0000 (17:59 +0200)]
gtkbutton: Handle crossing events without the event window

The event shall no longer be "directed" to the event window, but the
widget. Getting a enter/leave event is enough now to know whether the
pointer is inside or outside the widget.

8 years agogtkpointerfocus: Add methods to handle implicit grabs on widgets
Carlos Garnacho [Fri, 31 Mar 2017 15:57:44 +0000 (17:57 +0200)]
gtkpointerfocus: Add methods to handle implicit grabs on widgets

Just a basic setter/getter, plus a method to obtain the right logical target
in the presence or absence of these.

8 years agogtk: Implement per-focus implicit grabs
Carlos Garnacho [Fri, 31 Mar 2017 15:55:49 +0000 (17:55 +0200)]
gtk: Implement per-focus implicit grabs

Unlike GTK+ grabs which are global to all/one device, the implicit grab
is per focus, which means each may have implicit grabs on different or
the same widget.

8 years agogtk: Implement cursor updates
Carlos Garnacho [Fri, 31 Mar 2017 15:54:06 +0000 (17:54 +0200)]
gtk: Implement cursor updates

As we don't obey GdkWindow cursors anymore, someone must set those.
Use the private Gtkwidget API at the moment.

8 years agogtk: Update GtkPointerFocus targets on mapping/sensitivity changes
Carlos Garnacho [Fri, 31 Mar 2017 15:49:21 +0000 (17:49 +0200)]
gtk: Update GtkPointerFocus targets on mapping/sensitivity changes

Those are situations that must cause foci on these widgets to repick
themselves.

8 years agogdkwindow: Drop csw-side event translation
Carlos Garnacho [Fri, 31 Mar 2017 15:46:35 +0000 (17:46 +0200)]
gdkwindow: Drop csw-side event translation

Now that gtk_main_do_event() is able to handle pointing events in toplevel
coordinates, forward all of these as is. Just minimal handling is still done
on the gdk side for GDK grab accounting, and toplevel tracking for each
pointer.

8 years agogtk: Handle events with coordinates in toplevel-relative ones
Carlos Garnacho [Fri, 31 Mar 2017 15:38:38 +0000 (17:38 +0200)]
gtk: Handle events with coordinates in toplevel-relative ones

Implement target finding per-pointer/touchpoint through GtkPointerFocus and
_gtk_toplevel_pick(). Focus changes are handled through the emission of
crossing events between the old target and the new one.

8 years agogtkwindow: Add management functions for GtkPointerFocus instances
Carlos Garnacho [Fri, 31 Mar 2017 15:31:20 +0000 (17:31 +0200)]
gtkwindow: Add management functions for GtkPointerFocus instances

Each toplevel will keep its own tracking of the current ongoing foci,
add the plumbing that will allow to create/update/remove those as they
come and go.

8 years agogtk: Introduce GtkPointerFocus
Carlos Garnacho [Fri, 31 Mar 2017 15:22:00 +0000 (17:22 +0200)]
gtk: Introduce GtkPointerFocus

These objects (tied to a toplevel) track the focus of a pointer/touchpoint.
The info in these basically consists of current toplevel coordinates and the
current target widget.

8 years agogtkwidget: Expose gtk_widget_common_ancestor()
Carlos Garnacho [Fri, 31 Mar 2017 15:16:47 +0000 (17:16 +0200)]
gtkwidget: Expose gtk_widget_common_ancestor()

This function will be useful in other places, such as determining the
widgets that must receive crossing events after pointer picking points
to another widget.

8 years agogdk: Add gdk_event_set_coords() method
Carlos Garnacho [Fri, 31 Mar 2017 14:51:42 +0000 (16:51 +0200)]
gdk: Add gdk_event_set_coords() method

A helper function basically for gtk+, so coordinates can be translated
in place depending on the widget it's being delivered to.

8 years agogtk: Add private _gtk_toplevel_pick() method
Carlos Garnacho [Fri, 31 Mar 2017 14:49:22 +0000 (16:49 +0200)]
gtk: Add private _gtk_toplevel_pick() method

This function returns both the widget at the given toplevel coordinates,
and the translated x/y in widget relative coordinates.

8 years agoGtkWidget: Add ::pick vmethod
Carlos Garnacho [Fri, 12 May 2017 10:33:58 +0000 (12:33 +0200)]
GtkWidget: Add ::pick vmethod

The default implementation iterates through all children, so should suffice
for most widgets.

8 years agogdk: Add gdk_rectangle_contains_point() call
Carlos Garnacho [Fri, 12 May 2017 09:46:33 +0000 (11:46 +0200)]
gdk: Add gdk_rectangle_contains_point() call

A little helper function for a somewhat common operation.

8 years agowayland: Don't abort when preparing the source if connection is lost
Debarshi Ray [Wed, 24 May 2017 14:08:07 +0000 (16:08 +0200)]
wayland: Don't abort when preparing the source if connection is lost

Aborting the application makes it look like an application bug, when
it is the expected thing to do when the Wayland display server goes
way. eg., when the user logs out. The log level is also demoted to
avoid a storm of warnings in the log from all applications whenever
this happens.

This is also what the X11 backend does (see gdk_x_io_error).

https://bugzilla.gnome.org/show_bug.cgi?id=783047

8 years ago3.91.0
Matthias Clasen [Mon, 22 May 2017 20:39:09 +0000 (16:39 -0400)]
3.91.0

8 years agoUpdate a11y test output
Matthias Clasen [Tue, 23 May 2017 01:42:01 +0000 (21:42 -0400)]
Update a11y test output

8 years agoFix the docs build
Matthias Clasen [Mon, 22 May 2017 21:35:23 +0000 (17:35 -0400)]
Fix the docs build

gtk-doc behavior changed, it seems, and these options now
cause the build to break.

8 years agodocs: Fix copy-paste error in gtk_file_chooser_get_extra_widget() doc comment
Robert Ancell [Sat, 20 May 2017 01:07:05 +0000 (13:07 +1200)]
docs: Fix copy-paste error in gtk_file_chooser_get_extra_widget() doc comment

8 years agoAdwaita: Avoid accindental border on last treeview header
Lapo Calamandrei [Wed, 17 May 2017 16:09:59 +0000 (18:09 +0200)]
Adwaita: Avoid accindental border on last treeview header

The :last-child selector supposed to reset the border was
overridden by the :hover selector. This is fixed by moving the
:last-child selector after the overriding one.
Thanks to Sebastian Keller for spotting.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=779078.

8 years agoEntryBuffer: Don't generate changed events when input is truncated
Robert Ancell [Mon, 15 May 2017 05:03:36 +0000 (17:03 +1200)]
EntryBuffer: Don't generate changed events when input is truncated

8 years agomeson: remove duplicated G_ENABLE_DEBUG
Ignacio Casal Quinteiro [Tue, 16 May 2017 20:50:00 +0000 (22:50 +0200)]
meson: remove duplicated G_ENABLE_DEBUG

8 years agoFrame: Don’t advise adding .flat class in code
Daniel Boles [Sun, 14 May 2017 10:46:34 +0000 (11:46 +0100)]
Frame: Don’t advise adding .flat class in code

https://bugzilla.gnome.org/show_bug.cgi?id=779653#c33
and this is closer to what gtk-3-22 says anyway.

8 years agowidget-factory: Use :relief=none, not class .flat
Daniel Boles [Sat, 13 May 2017 18:28:34 +0000 (19:28 +0100)]
widget-factory: Use :relief=none, not class .flat

The rest of the ui file follows that convention.

8 years agogtk-demo: ui: Replace leftover uses of Box:expand
Daniel Boles [Sat, 13 May 2017 17:08:51 +0000 (18:08 +0100)]
gtk-demo: ui: Replace leftover uses of Box:expand

commit 5729ea7744c2a41ae8fb833db6690a6aa5ad7a84 skipped these

8 years agodemo/toolpalette: Restore ToolItemGroup child prop
Daniel Boles [Sat, 13 May 2017 17:04:19 +0000 (18:04 +0100)]
demo/toolpalette: Restore ToolItemGroup child prop

…erties clobbered by commit c92b7d4224b9cef1d08373fcc28f7fbd96c64e6d.
That and its counterpart were for removing :expand and :fill child props
from GtkBox, but they ended up catching these for GtkToolItemGroup too.

While GtkToolItemGroup still has these, we may as well keep demoing them

8 years agoAdwaita: regenerate the css
Lapo Calamandrei [Thu, 11 May 2017 13:26:48 +0000 (15:26 +0200)]
Adwaita: regenerate the css

8 years agoAdwaita: restyle entry-tag
Lapo Calamandrei [Thu, 11 May 2017 12:36:57 +0000 (14:36 +0200)]
Adwaita: restyle entry-tag

Fix the sizing and spacing, blue tags for the bright variant,
similar to what gnome-documents was shipping, and inverted gray
tags for the dark variant, not vanishing on hover.

8 years agotestsuite/scrolledwindow: Try non-overlay/non-auto
Daniel Boles [Fri, 24 Feb 2017 22:46:05 +0000 (22:46 +0000)]
testsuite/scrolledwindow: Try non-overlay/non-auto

It was only testing the default configuration, where overlay scrolling
is on and both scrollbars use POLICY_AUTOMATIC. We should also test the
other 3 configurations that are available by including non-overlay
scrollbars and/or those that use POLICY_ALWAYS.

https://bugzilla.gnome.org/show_bug.cgi?id=778853

8 years agoScrolledWindow: Don’t req size for autohidden bars
Daniel Boles [Fri, 24 Feb 2017 22:46:05 +0000 (22:46 +0000)]
ScrolledWindow: Don’t req size for autohidden bars

POLICY_AUTOMATIC means scrollbars are only shown when needed, i.e. when
the size of the window is not large enough to show the entire child. So
when measuring the preferred size, such scrollbars should be ignored.

But measure() added size for *any* non-overlay scrollbar of the opposite
orientation, e.g. for horizontal size, it added the width of vscrollbar.
So we requested for child + bar, & having enough for child meant that the
policy hid the bar, leaving extra space empty below/right of the child.

Fix this by only adding size for such bars if they use POLICY_ALWAYS.

https://bugzilla.gnome.org/show_bug.cgi?id=778853

8 years agoScrolledWindow: Optimise and clean up measure()
Daniel Boles [Fri, 10 Mar 2017 20:09:20 +0000 (20:09 +0000)]
ScrolledWindow: Optimise and clean up measure()

 • Only calculate the specified dimension – rather than measuring both &
   discarding the other (which will often be recalculated right after)
 • Only measure a given child scrollbar if it may be visible, not always
 • Move variables into narrowest scopes & otherwise improve readability

https://bugzilla.gnome.org/show_bug.cgi?id=778853

8 years agogtkclipboard: Fix typo
Carlos Garnacho [Wed, 10 May 2017 18:20:50 +0000 (20:20 +0200)]
gtkclipboard: Fix typo

The standard atom is UTF8_STRING.

8 years agotestsuite/gtk/scrolledwindow: Fix a copy-paste-o
Daniel Boles [Wed, 10 May 2017 18:11:16 +0000 (19:11 +0100)]
testsuite/gtk/scrolledwindow: Fix a copy-paste-o

It measured horizontal size when it needs height, making the test fail.

8 years agomeson: Use buildtype to determine the debugging flags
Emmanuele Bassi [Wed, 10 May 2017 11:03:01 +0000 (12:03 +0100)]
meson: Use buildtype to determine the debugging flags

Meson has a `--buildtype` option which allows us to avoid defining an ad
hoc `--enable-debug=yes|no|minimum` option ourselves.

8 years agomeson: Drop unnecessary link_with
Emmanuele Bassi [Wed, 10 May 2017 10:36:30 +0000 (11:36 +0100)]
meson: Drop unnecessary link_with

The `declare_dependency()` for GIR does not need a `link_with` argument.

8 years agomeson: Build the reftests suite
Emmanuele Bassi [Sat, 6 May 2017 16:25:42 +0000 (17:25 +0100)]
meson: Build the reftests suite

It does not pass, but at least we can check it.

8 years agomeson: Use libexecdir option
Emmanuele Bassi [Sat, 6 May 2017 16:25:13 +0000 (17:25 +0100)]
meson: Use libexecdir option

8 years agowin32/replace.py: Fix replacing items in files with UTF-8 content
Chun-wei Fan [Wed, 10 May 2017 01:17:29 +0000 (18:17 -0700)]
win32/replace.py: Fix replacing items in files with UTF-8 content

Some files that this script will process might have UTF-8 items in
there, which can cause problems on Python 3.x as it is more strict and
careful on unicode issues.  Fix this by:

-Doing what we did before on Python 2.x
-Opening the file with encoding='utf-8' on Python 3.x

8 years agoGtkWindow: Don't double free export user data
Jonas Ådahl [Tue, 9 May 2017 15:07:02 +0000 (23:07 +0800)]
GtkWindow: Don't double free export user data

The user data passed when exporting a Wayland window was supposed to be
freed using the destroy_func, as is commonly done. This was previously
broken, as the user data was just NULL:ed when exported, and only
actually destroyed when unexporting before having exported.

While e016d9a5dba6f6f99aee94d0b72c00bee299b96a fixed this, it introduced
a regression, as GtkWindow was nice enough to free the memory anyway
after having received the exported handle, causing it now to double
free.

https://bugzilla.gnome.org/show_bug.cgi?id=782109

8 years agoAdwaita: regenerate the css
Lapo Calamandrei [Tue, 9 May 2017 11:39:05 +0000 (13:39 +0200)]
Adwaita: regenerate the css

8 years agoAdwaita: add a comment
Lapo Calamandrei [Tue, 9 May 2017 11:38:03 +0000 (13:38 +0200)]
Adwaita: add a comment

Add a comment pointing to the related bug for dropdown menu
margin.

8 years agoRevert "Adwaita: remove unneeded margin on dropdown menu"
Lapo Calamandrei [Tue, 9 May 2017 11:34:49 +0000 (13:34 +0200)]
Revert "Adwaita: remove unneeded margin on dropdown menu"

This reverts commit af76e138f947d5cf3e83e4b820f7e64fd0316799.
The margin was actually related to:
https://bugzilla.gnome.org/show_bug.cgi?id=591258

8 years agoAdwaita: regenerate css
Lapo Calamandrei [Tue, 9 May 2017 10:47:41 +0000 (12:47 +0200)]
Adwaita: regenerate css

8 years agoAdwaita: remove unneeded margin on dropdown menu
Lapo Calamandrei [Tue, 9 May 2017 10:45:22 +0000 (12:45 +0200)]
Adwaita: remove unneeded margin on dropdown menu

That margin was probably a left over to workaround some placement
issue on dropdowns which doesn't exist anymore.

8 years agoGdkWaylandWindow: Unexport when finalizing
Jonas Ådahl [Mon, 8 May 2017 04:09:00 +0000 (12:09 +0800)]
GdkWaylandWindow: Unexport when finalizing

The application might not have exported, and it'll be too late for it
at this point anyway, so lets be helpful and not leak it.

https://bugzilla.gnome.org/show_bug.cgi?id=782109

8 years agoMake sure to remove tooltip timeout.
Olof-Joachim Frahm [Sun, 5 Feb 2017 18:08:56 +0000 (19:08 +0100)]
Make sure to remove tooltip timeout.

Otherwise in GC-ed environments the `g_source_remove` call during
disposal might be called on an already removed source, which results in
unnecessary console output.

https://bugzilla.gnome.org/show_bug.cgi?id=778301

8 years agostyle entry-tags
Jakub Steiner [Thu, 13 Apr 2017 17:38:53 +0000 (19:38 +0200)]
style entry-tags

https://bugzilla.gnome.org/show_bug.cgi?id=781214

8 years agowayland: Remove self assignment
Jonas Ådahl [Mon, 20 Mar 2017 13:37:10 +0000 (21:37 +0800)]
wayland: Remove self assignment

Don't assign the value of a variable to itself. It was added just for
clarity, but it makes coverity complain, so remove it.

https://bugzilla.gnome.org/show_bug.cgi?id=780301

8 years agowayland: Use correct enum type and values
Jonas Ådahl [Mon, 20 Mar 2017 13:36:29 +0000 (21:36 +0800)]
wayland: Use correct enum type and values

Use the gravity enum values when converting to gravity. It doesn't fix
anything, since the enum values were identical, but it makes a coverity
warning go away.

https://bugzilla.gnome.org/show_bug.cgi?id=780301

8 years agofile filter: Be save against NULL
Matthias Clasen [Mon, 8 May 2017 20:35:53 +0000 (16:35 -0400)]
file filter: Be save against NULL

g_content_type_from_mime_type may return NULL, deal with that.

https://bugzilla.gnome.org/show_bug.cgi?id=782180

8 years agoRevert "GdkWaylandWindow: Unexport when finalizing"
Matthias Clasen [Mon, 8 May 2017 19:59:23 +0000 (15:59 -0400)]
Revert "GdkWaylandWindow: Unexport when finalizing"

This reverts commit 251e216052cab4fd04e39c7872395b64363c11da.

8 years agoGdkWaylandWindow: Unexport when finalizing
Jonas Ådahl [Mon, 8 May 2017 04:09:00 +0000 (12:09 +0800)]
GdkWaylandWindow: Unexport when finalizing

The application might not have exported, and it'll be too late for it
at this point anyway, so lets be helpful and not leak it.

https://bugzilla.gnome.org/show_bug.cgi?id=782109